Grouping プロパティは、実行時に設定することもできます。この機能を使うと、ユーザーの選択に基づいてグルーピングを設定できるため、柔軟性が増大します。
たとえば、以下のコードは、ユーザーによる選択が可能な4つのモードの1つで同じデータを表示するようグリッドを設定します(完全なサンプルは製品パッケージに付属しています)。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Private Sub _rblView_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
' グループ化/マージを設定します。
Dim col As C1.Web.Wijmo.Controls.C1GridView.C1Field = C1GridView1.Columns(0)
Select Case _rblView.SelectedItem.Text
' 従来のモード:グループ化またはマージしません
Case "Traditional"
col.Visible = True
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None
' マージする:グルー化せず、同じ値は列にマージします。
Case "Merged"
col.Visible = True
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None
' グループ化する:縮小可能なヘッダーでグループ化し、グループ化した値をマージします。
Case "Grouped"
col.Visible = True
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header
' 概要:縮小可能なヘッダーでグループ化し、グループ化した値を非表示にします。
Case "Summary"
col.Visible = False
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header
End Select
End Sub
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
private void _rblView_SelectedIndexChanged(object sender, System.EventArgs e)
{
// グルー化およびマージを設定します。
C1.Web.Wijmo.Controls.C1GridView.C1Field col = C1GridView1.Columns[0];
switch (_rblView.SelectedItem.Text)
{
// 従来のモード:グループ化またはマージしません。
case "Traditional":
col.Visible = true;
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None;
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None;
break;
// マージする:グループ化せず、同じ値は列にマージします
case "Merged":
col.Visible = true;
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None;
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.None;
break;
// グループ化する:縮小可能なヘッダーでグループ化し、グループ化した値をマージします。
case "Grouped":
col.Visible = true;
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None;
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header;
break;
// 概要:縮小可能なヘッダーでグループ化し、グループ化した値を非表示にします。
case "Summary":
col.Visible = false;
col.RowMerge = C1.Web.Wijmo.Controls.C1GridView.RowMerge.None;
col.GroupInfo.Position = C1.Web.Wijmo.Controls.C1GridView.GroupPosition.Header;
break;
}
}
|
|